/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package es.revuel.tpvonce.beans;

import es.revuel.tpvonce.modelo.servicios.ServicioDeArticulos;
import es.revuel.tpvonce.modelo.vo.FamiliaVO;
import es.revuel.tvponce.beans.tablas.ModeloTablaFamilia;
import java.util.List;
import org.primefaces.event.SelectEvent;
import org.primefaces.event.UnselectEvent;

/**
 *
 * @author Usuario
 */
public class FamiliaBean {
    private List<FamiliaVO>listaFamilias;
    private FamiliaVO familiaSeleccionada;
    private ModeloTablaFamilia modeloFamilia;
    
    private ServicioDeArticulos servicioDeArticulos;
    
    
    public FamiliaBean() {
       cargar();
        
    }

    public void cargar(){
        familiaSeleccionada = new FamiliaVO();
        servicioDeArticulos = new ServicioDeArticulos();
        listaFamilias = servicioDeArticulos.obtenerListadoFamilias();
        modeloFamilia = new ModeloTablaFamilia(listaFamilias);
       
    }
    
    public void onRowSelect(SelectEvent event) { 

    }
    
     public void onRowUnselect(UnselectEvent event) {  
            familiaSeleccionada = new FamiliaVO();
     }
    
    
     public void nuevaFamilia(){
         familiaSeleccionada = new FamiliaVO();
     }
    
     public void eliminarFamilia(){
         if (familiaSeleccionada.getIdFamilia()!=null){
            servicioDeArticulos.eliminarFamilia(familiaSeleccionada);
         }
         cargar();
     }
     
     public void insertarFamilia(){
         servicioDeArticulos.insertarFamilia(familiaSeleccionada);
         cargar();
     }
     
     
    public List<FamiliaVO> getListaFamilias() {
        return listaFamilias;
    }

    public void setListaFamilias(List<FamiliaVO> listaFamilias) {
        this.listaFamilias = listaFamilias;
    }

    public FamiliaVO getFamiliaSeleccionada() {
        return familiaSeleccionada;
    }

    public void setFamiliaSeleccionada(FamiliaVO familiaSeleccionada) {
        this.familiaSeleccionada = familiaSeleccionada;
    }

    public ServicioDeArticulos getServicioDeArticulos() {
        return servicioDeArticulos;
    }

    public void setServicioDeArticulos(ServicioDeArticulos servicioDeArticulos) {
        this.servicioDeArticulos = servicioDeArticulos;
    }

    public ModeloTablaFamilia getModeloFamilia() {
        return modeloFamilia;
    }

    public void setModeloFamilia(ModeloTablaFamilia modeloFamilia) {
        this.modeloFamilia = modeloFamilia;
    }
    
    
    
}
